<?php

/**
 * Beca form.
 *
 * @package    BecArTe
 * @subpackage form
 * @author     Your name here
 * @version    SVN: $Id: sfDoctrineFormTemplate.php 23810 2009-11-12 11:07:44Z Kris.Wallsmith $
 */
class BecaForm extends BaseBecaForm
{
  public function configure()
  { 
    unset($this['created_at']);
    unset($this['generoInforme']);
    
    $jqDateConfig = "{
            dayNamesMin: ['Do', 'Lu', 'Ma', 'Mi', 'Ju', 'Vi', 'Sa'],
            monthNames: ['Enero', 'Febrero', 'Marzo', 'Abril', 'Mayo', 'Junio', 'Julio', 'Agosto', 'Septiembre', 'Octubre', 'Noviembre', 'Diciembre'],
            prevText: '<', nextText: '>'
            }";   
    $this->widgetSchema['fecha_limite_inscripcion'] = new sfWidgetFormJQueryDate(array(
                 'config' => $jqDateConfig,
                 'date_widget' => new sfWidgetFormDate(array(
                    'format' => '%day%/%month%/%year%'
                 ))
            ));      
    $this->widgetSchema['fecha_inicio'] = new sfWidgetFormJQueryDate(array(
                 'config' => $jqDateConfig,
                 'date_widget' => new sfWidgetFormDate(array(
                    'format' => '%day%/%month%/%year%'
                 ))
            ));
    $this->widgetSchema['fecha_fin'] = new sfWidgetFormJQueryDate(array(
                 'config' => $jqDateConfig,
                 'date_widget' => new sfWidgetFormDate(array(
                    'format' => '%day%/%month%/%year%'
                 ))
            ));
    $this->widgetSchema->setHelp('cupo', 'Indique el cupo máximo o 0 si no tiene cupo');
    $this->widgetSchema->setHelp('monto', 'Importe en pesos del beneficio');
    $this->widgetSchema->setHelp('dias_limite_requisitos', 'Cantidad de días con que contarán los solicitante para presentar todos los requisitos, a partir de iniciada su solicitud de beca');
    
   
    $this->validatorSchema['cupo'] = new sfValidatorInteger(array(
      'min' => 0
    ));
    $this->validatorSchema['monto'] = new sfValidatorInteger(array(
      'min' => 0
    ));
    
    $this->mergePostValidator(
      new sfValidatorDateRange(array(
          'from_date' => new sfValidatorDate(array('required' => false)),
          'from_field' => 'fecha_inicio',
          'to_date' => new sfValidatorDate(array('required' => false) ),
          'to_field' => 'fecha_fin'
      ))            
    );
    $this->mergePostValidator(
      new sfValidatorSchemaCompare(
        'fecha_limite_inscripcion',
        sfValidatorSchemaCompare::LESS_THAN,
        'fecha_inicio',
        array(),
        array(
         'invalid' => 'El límite de inscripcion debe ser anterior al periodo de la beca'
        )
      )
    );
  }
  
}
